/*******************************************************************************
*                               GENERAL RULES                                  *
*******************************************************************************/

* {
  margin: 0px;
  padding: 0px;
  border: 0px;
}

/*******************************************************************************
CSS rules for the main div
*******************************************************************************/

body { 
  text-align: center;
  background: #464646 url("images/body_bg.gif") repeat; 
  font-size: 90%;
}

#djips { 
  width: 90%;
  margin: 5px auto;
  text-align: left;
  border: 3px solid #484a4a;
  border-radius: 15px;
  -moz-border-radius: 15px;
  -webkit-border-radius: 15px;
  background: #ECECEC;
}

/*******************************************************************************
General stuff
*******************************************************************************/
.info_msg, .error_msg { 
  padding: 2px 20px;
  text-align: center;
  margin-bottom: 5px;
}

.info_msg { 
  border: 1px solid #19ab31;
  background: #8df49e url("images/valid.png") no-repeat center left;
}

.error_msg { 
  border: 1px solid #ab192e;
  background: #ff3d58 url("images/error.png") no-repeat center left;
}

.hidden {
  display: none;
}

.wrapper {
  overflow: auto;
}

.discreet {
  font-size: 12px;
  color: #7D7D7D;
}

input, textarea {
  border: 1px solid black;
  color: #000;
  background: #FFF;
}

input[type=submit] { 
 margin-top: 3px;
 padding: 2px;
 background: #FFF;
 font-weight: bold;
}

input[type=submit].valid {
  padding-left: 20px;
  background: #FFF url("images/valid.png") no-repeat center left;
}

input[type=submit].cancel {
  padding-left: 20px;
  background: #FFF url("images/cancel.png") no-repeat center left;
}

input[type=submit].valid:hover {
  padding-left: 20px;
  background: #8df49e url("images/valid.png") no-repeat center left;
}

input[type=submit].cancel:hover {
  padding-left: 20px;
  background: #abe3f6 url("images/cancel.png") no-repeat center left;
}

label {
  font-weight: bold;
}

fieldset { 
  border: 1px solid black;
  padding: 5px;
  margin: 3px;
}

legend { 
  font-weight: bold;
  padding: 5px;
}

a {
  color: #16610E;  
}

.center { 
  text-align: center;
}

.right {
  text-align: right;
}

.left {
  text-align: left;
}

.centered { 
  margin: 0px auto;
}

#modal_overlay,
#unmodal_overlay { 
  position: absolute;
  top: 0px;
  left: 0px;
  width: 100%;
  height: 100%;
  background: #000;
  opacity : 0.5; 
  filter : alpha(opacity=50);
  z-index: 100;

  display: none; /* Faded in with jQuery once loaded. */
}

#modal_overlay_msg,
#unmodal_overlay_msg {
  position: absolute;
  top: 25%;
  left: 35%;
  width: 30%;
  z-index: 101;

  display: none; /* Faded in with jQuery once loaded. */
}

#overlay_msg_head {
  border: 3px solid #484a4a;
  background: #11f215;
  padding: 5px 15px;
  font-weight: bold;

  -moz-border-radius-topright: 12px;
  -moz-border-radius-topleft: 12px;
  -webkit-border-top-right-radius: 12px;
  -webkit-border-top-left-radius: 12px;
}

#overlay_msg_body {
  border: 3px solid #484a4a;
  border-top: none;
  background: #FFF;
  padding: 5px 15px;                  

  -moz-border-radius-bottomright: 12px;
  -moz-border-radius-bottomleft: 12px;
  -webkit-border-bottom-right-radius: 12px;
  -webkit-border-bottom-left-radius: 12px;
}

#lightbox {
  display: none;
  text-align: center;

  position: absolute;
  top: 0px;
  left: 0px;

  width: 100%;
  height: 100%;
  padding: 30px;

  z-index: 100;
}

#lightbox img {
  border: 10px solid #FFF;
}

/*******************************************************************************
The header section
*******************************************************************************/
#header h1 {  
  text-align: center;
}

/*******************************************************************************
CSS rules to display the menu.

They might be a bit tricky to understand/maintain, so let's use lots of
 comments.

*******************************************************************************/

/* The div containing the menu has a relative position to allow 
   easy absolute positionning of the second line. */
#menu { 
  position: relative;
  margin: 0px;
}

/* All items are floating, it's easy and I'm lazy :D */
#menu li { 
  float: left;
  list-style-type: none;
  padding: 2px 5px;
}

/* The first line of the menu (the second lines comes after) 
   The background is used to simulate the border bottom. */
#menu ul.main_menu {
  width: 100%;
  height: 30px;
  background: #ECECEC url("images/menu_bg.gif") repeat-x top left;
  /* The second line is displayed in absolute position and might
     hide element, so we add margin to the first line. */
  margin-bottom: 30px;
}

#menu ul.main_menu li {
  padding: 0px;
  height: 30px;
}

#menu ul.main_menu li a {
  display: block;
  padding: 10px 15px 5px 15px;
}

/* Padding in the second line is less important has we do not have 
   different tab heights. */
#menu ul.sub_menu li a {
  height: 13px;
  padding: 7px 15px;
}

/* Rules to display backgrounds in tabs. We use only two background to
   lower traffic/hover loading problems. */
#menu li.before_module {
  background: #FFF url("images/tabs-medium.gif") no-repeat bottom left;
}

#menu li.after_module {
  background: #FFF url("images/tabs-medium.gif") no-repeat bottom right;
}

#menu li.first_module {
  margin-left: 15px;
  background: #FFF url("images/tabs-first-last.gif") no-repeat bottom left;
}

#menu li.last_module {
  background: #FFF url("images/tabs-first-last.gif") no-repeat bottom right;
}

/* When the mouse is over a tab, we change the background position to
   display another tab color. */
#menu li.first_module:hover, #menu li.before_module:hover { 
  background-position: top left; 
}

#menu li.last_module:hover, #menu li.after_module:hover { 
  background-position: top right; 
}

/* The current tab (biggest). As this tab has two rounded border, a part
   is displayed as li background, the other as the link background. */
#menu li.current_module, #menu li.current_module:hover { 
  background: #FFF url("images/tabs-current.gif") no-repeat top left;
}

#menu li.current_module a { 
  background: #FFF url("images/tabs-current-r.gif") no-repeat top right;
  margin-left: 6px;
}


/* The second line of the menu. The principal is quite simple:
  - all lists with the sub_menu class are displayed at the same absolute
     position (just below the first line)
  - all lists are hidden
  - the list contained in the current_module item is displayed
  - when the mouse is over an item in the first line, the list contained in
    it is displayed, with a z-index of 2 to hide the line of the current
    module.

  Width of 100% and background images make it look nice.
*/
#menu ul.sub_menu {
  position: absolute;
  top: 30px;
  left: 0px;

  z-index: 2;
  display: none;
}

#menu li.current_module ul.sub_menu  {
  z-index: 1;
  display: block;
  width: 100%;
  height: 30px;

  background: #ececec url("images/menu_current_bg.gif") repeat-x top left;
}

/* We redefine the background to avoid having the current tab displayed in 
   the second line.*/
#menu li.current_module ul.sub_menu li {   
  background: #ececec url("images/menu_current_bg.gif") repeat-x top left;
}

/* We display the second line of the menu corresponding to the hovered 
   category. */
#menu li.before_module:hover ul.sub_menu,
#menu li.after_module:hover ul.sub_menu {
  z-index: 2;
  display: block;
  width: 100%;
  height: 30px;
  background: #ececec url("images/menu_selected_bg.gif") repeat-x top left;
}

/* Theming of links */
#menu li a {
  text-decoration: none;
  color: #16610E;
}

#menu li.current_module a {
  color: #000;
  font-weight: bold;
}

#menu li:hover a {
  font-weight: bold;
}

#menu li.before_module ul.sub_menu li:hover a,
#menu li.after_module ul.sub_menu li:hover a { 
  color: #FFF;
}

#menu li.current_module ul.sub_menu li a { 
  background: #11f215 url("images/menu_current_li_bg.gif") no-repeat top right;
}

#menu li.current_module ul.sub_menu li.active_page a { 
  color: #FFF;
  background: #107421 url("images/menu_active_li_bg.gif") no-repeat top right;
}
#menu li.current_module ul.sub_menu li:hover a { 
  background: #19ab31 url("images/menu_current_li_hover_bg.gif") no-repeat top right;
}


/*******************************************************************************
The footer section
*******************************************************************************/
#footer{  
  clear: both;
  border-top: 3px solid #484a4a;
  background: #7E7E7E;
  -moz-border-radius-bottomright: 12px;
  -moz-border-radius-bottomleft: 12px;
  -webkit-border-bottom-right-radius: 12px;
  -webkit-border-bottom-left-radius: 12px;

  height: 40px;
  color: #FFF;
}

#footer a {
  color: #FFF;
}

/*******************************************************************************
Widget to select folder.
*******************************************************************************/
div.djips_filesystem { 
  background: #FFF;
  border: 1px solid #484a4a;
  padding: 10px;
  overflow: auto;
}

li.djips_filesystem {
  list-style-type: none;
  padding-left: 20px;
  background-image: url("images/folder_open.png");
  background-repeat: no-repeat;
  background-position: top left;
}

li.djips_filesystem a {
  color: #000000;
  text-decoration: none;
}

li.djips_filesystem a:hover {
  text-decoration: underline;
}

li.current_folder { 
  background-image: url("images/current_folder_open.png");
}

li.current_folder a {
  color: #16610E;
  font-weight: bold;
}

li.current_folder ul a {
  color: #000000;
  font-weight: normal;
}

/*******************************************************************************
Listing table
*******************************************************************************/

table.listing { 
  border: 1px solid black;
  border-spacing: 0px;
  margin: 2px auto;
}

table.listing th,
table.listing tr.separator td {
  padding: 3px 5px;
  text-align: center;
  border-bottom: 1px solid black;
  font-weight: bold;
}

table.listing thead tr { 
  background: #11f215;
}

table.listing tr.separator {
  background: #11f215 url("images/listing_th_bg.gif") no-repeat top right;
}

table.listing tr.separator td {
  border-top: 1px solid black;
}

table.listing tr.odd td {
  background: #FFF;
}

table.listing tr.even td {
  background: #ececec;
}

table.listing td {
  padding: 3px 5px;
  text-align: left;
}

table.listing tr:hover td {
  background-color: #8df49e;
}

table.listing tr.separator:hover td {
  background: #11f215 url("images/listing_th_bg.gif") no-repeat top right;
}

/*******************************************************************************
Plone form tabbing
*******************************************************************************/
.enableFormTabbing { 
  position: relative;
  margin-top: 20px;
}

ul.formTabs {
  width: 100%;
  text-align: center;
  position: absolute;
  top: -8px;
}

fieldset.formPanel {
  padding-top: 15px;
  border: 2px solid #484a4a;

  -moz-border-radius: 10px;
  -webkit-border-radius: 10px;
}

li.formTab {
  display: inline;
  list-style-type: none;
  background: #11f215;
  padding: 3px 10px;
  border-top: 2px solid #484a4a;
  border-bottom: 2px solid #484a4a;
  border-right: 2px solid #484a4a;
}

li.firstFormTab {
  border-left: 2px solid #484a4a;
  padding-left: 15px;

  -moz-border-radius-topleft: 6px;
  -moz-border-radius-bottomleft: 6px;
  -webkit-border-top-left-radius: 6px;
  -webkit-border-bottom-left-radius: 6px;
}

li.lastFormTab {
  padding-right: 15px;

  -moz-border-radius-topright: 6px;
  -moz-border-radius-bottomright: 6px;
  -webkit-border-top-right-radius: 6px;
  -webkit-border-bottom-right-radius: 6px;
}

li.formTab a {
  color: #000;
  text-decoration: none;
}

li.formTab a.selected {
  font-weight: bold;
  color: #000;
}


/*******************************************************************************
 General content
*******************************************************************************/
div#content { 
  padding: 10px;
}

#content ul { 
  padding-left: 15px;
}

/*******************************************************************************
*                           PAGE SPECIFIC RULES                                *
*******************************************************************************/

/*******************************************************************************
Login page
*******************************************************************************/
.login_form {
  text-align: center;
}

/*******************************************************************************
Page to update colors
*******************************************************************************/

#update_colors_form { 
  position: relative;
}

#update_colors_form #picker {
  position: absolute;
  top: 10px;
  left: 10px;
}

/*******************************************************************************
Page to update images
*******************************************************************************/

div#update_images_form { 
  width: 78%;
  float: right;
  margin-bottom: 10px;
}

div#update_images_filesystem {
  width: 20%;
  float: left;
  margin-bottom: 10px;
}


/*******************************************************************************
Ajaxified version of the previous page
*******************************************************************************/

#images_ui_left_menu,
#images_ui_main,
#images_ui_right_menu,
#images_ui_footer { 
  position: absolute;
  background: #7E7E7E;  

  overflow: auto;
}

#images_ui_left_menu{
  top: 0px;
  left: 0px;

  width: 197px;
  height: 100px;

  border-right: 3px solid #484A4A;
}

#images_ui_left_menu h2,
#images_ui_right_menu h2 {
  background: #11f215 url("images/listing_th_bg.gif") no-repeat top right;

  padding-left: 3px;
  margin-top: 3px;
  margin-bottom: 3px;
  border-top: 2px solid #484A4A;
  border-bottom: 2px solid #484A4A;

  font-size: 17px;
}

#folder_choser {
  overflow: auto;
}

#images_ui_left_menu ul {
  padding: 0px;
}

#images_ui_left_menu li {
  padding: 0px;
  list-style-type: none;
}

#images_ui_left_menu li a { 
  color: #000;
  text-decoration: none;
}

#images_ui_left_menu li:hover { 
  padding-left: 15px;
  background: #ECECEC url("images/black_right_arrow.gif") no-repeat center left;
}

#images_ui_left_menu li.current {
  padding-left: 15px;
  background: #000 url("images/light_right_arrow.gif") no-repeat center left;
}

#images_ui_left_menu li.current a {
  color: #FFF;
}

#images_ui_main {
  top: 0px;
  left: 200px;

  background: #ECECEC;
}

#images_ui_right_menu{  
  top: 0px;
  right: 0px;

  width: 197px;
  height: 100px;

  border-left: 3px solid #484A4A;
}

#images_ui_footer {  
  width: 100%;
  height: 23px;

  bottom: 0px;
  left: 0px;
  border-top: 3px solid #484A4A;
}

#images_ui_footer .commands { 
  padding: 4px;
  height: 15px;
  background: #000;

  color: #FFF;
  font-size: 15px;
}

.dia {
  width: 206px;
  height: 206px;
  padding: 3px;

  float: left;
  position: relative;
  background: #ECECEC url("images/dia_bg.gif") no-repeat center center;

  text-align: center;
}

.dia.selected { 
  background-image: url("images/dia_selected_bg.gif");
}

.dia_image { 
  margin: 5px auto;
  width: 150px;
  height: 120px;
  text-align: center;
}

.dia_title { 
  height: 15px;
  text-align: center;
  padding: 10px;
}

.dia_color_display {
  width: 10px;
  height: 10px;

  border: 1px solid black;
  position: absolute;
  bottom: 15px;
  left: 15px;
}

.dia_stars { 
  height: 11px;

  position: absolute;
  bottom: 15px;
  right: 15px;
}

.dia_overlay { 
  width: 212px;
  height: 212px;
  
  display: none;
  position: absolute;
  top: 0px;
  left: 0px;
  z-index: 100;
}

#preview { 
  float: none;
  background: #7E7E7E url("images/preview.gif") no-repeat;
  margin: 0px;
  width: 197px;
  height: 197px;
  overflow: auto;

  display: table-cell;
  vertical-align: middle; 
}

#preview img { 
  max-width: 180px;
  max-height: 180px;
}

#images_ui_right_menu h3 {
  border-top: 2px solid #484A4A;
  border-bottom: 2px solid #484A4A;
  margin-top: 2px;
  margin-bottom: 2px;
  text-align: center;
  background: #020202;
  color: #FFF;
  font-size: 14px;
  font-variant: small-caps;
}

.accordion_body { 
  display: none;
  overflow: hidden;
}

.accordion_body.acc_current {
  display: block;
}

.color_widget_container, .mark_widget_container { 
  float: right;
}

.color_display {
  width: 10px;
  height: 10px;

  border: 1px solid black;
  float: left;
  margin-left: 4px;
}

.spray { 
  padding-left: 15px;
  float: left;
  margin-right: 10px;
  background: transparent url("images/tag.gif") no-repeat center left;
}

.spray.active{ 
  background: transparent url("images/tag_active.gif") no-repeat center left;
}

.commands .color_widget_container,
.commands .mark_widget_container { 
  float: left;
}

.commands .color_widget_container {
  display: none;
}

/*******************************************************************************
Page to update one image
*******************************************************************************/
.manage_image_form {
  padding: 5px;
}

.manage_image_form textarea,
.manage_image_form input[type=text],
.manage_image_form select {
  display: block;
  width: 80%;
}

.manage_image_form textarea{
  height: 150px;
}